/*
 * 源文件名：Dialect.java
 * 文件版本：1.0.0
 * 创建作者：莫寅
 * 创建日期：2013-02-21
 * 修改作者：莫寅
 * 修改日期：2013-02-21
 * 文件描述：分页方言类
 * 版权所有：Copyright 2013 绍兴山耐, Inc. All Rights Reserved.
 */
package com.cloudbroker.bcs.platform.ltb.middle.mybatis.dialect;

/**
 * 分页方言类.
 */
public class Dialect {

	/**
	 * 方言枚举.
	 */
	public static enum Type{
		DB2,
		Derby,
		H2,
		HSQL,
		MySQL,
		Oracle,
		PostgreSQL,
		SQLServer2005,
		SQLServer,
		Sybase
    }

	public boolean supportsLimit() {
		return false;
	}

	public boolean supportsLimitOffset() {
		return supportsLimit();
	}

	/**
	 * 把普通SQL语句转换成分页SQL语句,直接使用offset,limit的值作为占位符.
	 * 
	 * @param sql
	 * @param offset
	 * @param limit
	 * @return
	 */
	public String getLimitString(String sql, int offset, int limit) {
		return getLimitString(sql, offset, Integer.toString(offset), limit,
				Integer.toString(limit));
	}

	/**
	 * 把普通SQL语句转换成分页SQL语句,提供将offset及limit使用占位符placeholder替换.
	 * 
	 * @param sql
	 * @param offset
	 * @param offsetPlaceholder
	 * @param limit
	 * @param limitPlaceholder
	 * @return
	 */
	public String getLimitString(String sql, int offset,
			String offsetPlaceholder, int limit, String limitPlaceholder) {
		throw new UnsupportedOperationException("page query not supported.");
	}

}
